package model.liczba;


/**
 * Definiuje podstawowe operacja na LiczbaBigDecimal
 *
 */
public class LiczbaObslugaBigDecimal extends LiczbaObslugaAbstrakcyjna implements LiczbaObsluga  {

	int precyzja;
	Liczba ZERO;
	Liczba JEDEN;
	Liczba MINUSJEDEN;
	Liczba E;
	
	public LiczbaObslugaBigDecimal(int precyzja) {
		this.precyzja = precyzja;
		ZERO = create(LiczbaBigDecimal.ZERO.doubleValue());
		JEDEN = create(LiczbaBigDecimal.JEDEN.doubleValue());
		MINUSJEDEN = create(LiczbaBigDecimal.MINUSJEDEN.doubleValue());
		E = create(LiczbaBigDecimal.E.doubleValue());
	}
	
	@Override
	public Liczba getZERO() {
		return ZERO;
	}

	@Override
	public Liczba getJEDEN() {
		return JEDEN;
	}

	@Override
	public Liczba getE() {
		return E;
	}

	@Override
	public Liczba create(double liczba) {
		return new LiczbaBigDecimal(liczba, precyzja);
	}

	@Override
	public int getPrecycja() {
		return precyzja;
	}

	@Override
	public Liczba getMINUSJEDEN() {
		return MINUSJEDEN;
	}


}
